home *** CD-ROM | disk | FTP | other *** search
- <driver id="driver/hl7x0">
- <name>hl7x0</name>
- <url>http://www.ghostscript.com/</url>
- <supplier>Ghostscript</supplier>
- <thirdpartysupplied />
- <!--not "manufacturersupplied"-->
- <license>GPL</license>
- <freesoftware />
- <!--not "nonfreesoftware"-->
- <supportcontacts>
- <supportcontact level="voluntary" url="http://forums.openprinting.org/list.php?24">OpenPrinting forum for Brother printers</supportcontact>
- <!--not level="commercial"-->
- </supportcontacts>
- <shortdescription>
- <en>
- Driver for Brother's proprietary printer language (works also on the PCL/PS models)
- </en>
- </shortdescription>
- <functionality>
- <maxresx>2400</maxresx>
- <maxresy>600</maxresy>
- <monochrome />
- <!--not "color"-->
- <text>95</text>
- <lineart>95</lineart>
- <graphics>65</graphics>
- <photo>35</photo>
- <load></load>
- <speed>100</speed>
- </functionality>
- <execution>
- <ghostscript />
- <prototype>RES=%E; gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=hl7x0%A%Z -r$RES -sOutputFile=-%C -f - | perl -e 'my $u = "%U"; my $j = "%T"; my $p = "%F"; my $r = "'$RES'"; my $e = "%G"; my $m = "%H"; my $d = "%I"; my $t = "%J"; my $pcmd = ""; if ($p =~ /^\d\d\d\d$/) {$u =~ s/\%U//; $u ||= "Unknown"; $j =~ s/\%T//; $j ||= "Unknown"; $u = chr(length($u) + 1) . $u . "\x00"; $j = chr(length($j) + 1) . $j . "\x00"; $p = chr(length($p) + 1) . $p . "\x00"; $pcmd = "\@U1$u$j$p"}; my $rcode = "\x00"; if ($r =~ /^150(|x150)$/) {$rcode = "\x0a"} elsif ($r =~ /^300(|x300)$/) {$rcode = "\x05"} elsif ($r =~ /^600(|x600)$/) {$rcode = "\x00"} elsif ($r =~ /^1200(|x1200)$/) {$rcode = "\x0f"}; my $rcmd = "\@L$rcode"; my $ecmd = ($e =~ /^[0123]$/ ? "\@E" . chr($e) : ""); my $mcmd = ($m =~ /^[012345678]$/ ? "\@J\x00" . chr($m) : ""); my $dcmd = ($d =~ /^[12]$/ ? "\@O$d" : ""); my $tcmd = ($t =~ /^[12MOo]$/ ? "\@S$t" : ""); my $did = 0; while (<>) {if (!$did) {s/\@L./$pcmd$rcmd$ecmd$mcmd$dcmd$tcmd/s && $did ++}; print}'</prototype>
- <prototype_pdf>RES=%E; gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=hl7x0%A%Z -r$RES -sOutputFile=-%C -f - | perl -e 'my $u = "%U"; my $j = "%T"; my $p = "%F"; my $r = "'$RES'"; my $e = "%G"; my $m = "%H"; my $d = "%I"; my $t = "%J"; my $pcmd = ""; if ($p =~ /^\d\d\d\d$/) {$u =~ s/\%U//; $u ||= "Unknown"; $j =~ s/\%T//; $j ||= "Unknown"; $u = chr(length($u) + 1) . $u . "\x00"; $j = chr(length($j) + 1) . $j . "\x00"; $p = chr(length($p) + 1) . $p . "\x00"; $pcmd = "\@U1$u$j$p"}; my $rcode = "\x00"; if ($r =~ /^150(|x150)$/) {$rcode = "\x0a"} elsif ($r =~ /^300(|x300)$/) {$rcode = "\x05"} elsif ($r =~ /^600(|x600)$/) {$rcode = "\x00"} elsif ($r =~ /^1200(|x1200)$/) {$rcode = "\x0f"}; my $rcmd = "\@L$rcode"; my $ecmd = ($e =~ /^[0123]$/ ? "\@E" . chr($e) : ""); my $mcmd = ($m =~ /^[012345678]$/ ? "\@J\x00" . chr($m) : ""); my $dcmd = ($d =~ /^[12]$/ ? "\@O$d" : ""); my $tcmd = ($t =~ /^[12MOo]$/ ? "\@S$t" : ""); my $did = 0; while (<>) {if (!$did) {s/\@L./$pcmd$rcmd$ecmd$mcmd$dcmd$tcmd/s && $did ++}; print}'</prototype_pdf>
- </execution>
- <comments>
- <en>
-
- Fortunately, Brother uses the same protocol for their host-based
- printers for many years and an appropriate driver is embedded in
- Ghostscript, named "hl7x0". Unfortunately the driver was not
- updated for the additional options and resolutions of newer
- Brother printers, so that simply using the driver does only give
- very basic support for the current models (only 600 dpi, no
- Duplex, no tray selection, ...).<p>
-
- Recently <a
- href="http://sourceforge.net/projects/hbp-for-brother">the
- Windows driver output of the newer models was
- investigated</a> and it turned out that for the additional
- options only the appropriate commands need to be inserted at the
- beginning of the data stream.<p>
-
- On the mentioned site you find a PDF file with documentation about
- the options and a filter for inserting them into the output data
- stream of Ghostscript. As probably many distributions will not
- include this filter, the Foomatic data and the resulting PPD files
- here fo all this work without needing the filter. So you only need
- the PPD from here and the Ghostscript which comes with your
- distribution and you will have access to all resolutions including
- HQ1200 (2400x600 dpi), economy mode, media types, duplex, tray
- selection, and even password-protected printing (aka "Locked
- Print" or "Secured Print").<p>
-
- Note that not all settings are available on all printers,
- especially on older models. On some printers you will get a
- shifted page if you use a low resolution. Use 600 dpi in such a
- case. Please report everything on our Brother forum, so that we
- can exclude unsuitable settings from the PPDs.<p>
-
- With the "HQ1200" resolution setting the economy mode and duplex
- settings are ignored. You will always get one-sided printouts with
- standard toner density.<p>
-
- Try this driver also with PostScript and PCL printers from Brother
- (use simply a PPD file for a printer which is listed as supported
- by this driver). Do you get better/faster results or more
- functionality? Please report on the Brother forum.<p>
-
- If you have a monchrome laser from Brother which is not listed at
- all on the OpenPrinting site, start trying with this driver and
- report on the Brother forum.<p>
-
- </en>
- </comments>
- <printers>
- <printer>
- <id>printer/Brother-HL-720</id><!-- Brother HL-720 -->
- </printer>
- <printer>
- <id>printer/Brother-HL-730</id><!-- Brother HL-730 -->
- </printer>
- <printer>
- <id>printer/Brother-HL-820</id><!-- Brother HL-820 -->
- </printer>
- <printer>
- <id>printer/Brother-HL-1020</id><!-- Brother HL-1020 -->
- </printer>
- <printer>
- <id>printer/Brother-HL-1040</id><!-- Brother HL-1040 -->
- <comments>
- <en>Works for 300 or 600dpi; faster than PCL.</en>
- </comments>
- </printer>
- <printer>
- <id>printer/Brother-DCP-8045D</id>
- </printer>
- <printer>
- <id>printer/Brother-MFC-8300</id><!-- Brother MFC-8300 -->
- </printer>
- <printer>
- <id>printer/Brother-MFC-9050</id><!-- Brother MFC-9050 -->
- <comments>
- <en>Prints at 600dpi.</en>
- </comments>
- </printer>
- </printers>
- </driver>
-